Theory

  • Parallelizing the Physics Solver of Teardown .

    • TLDR :

      • He uses a graph-based technique to separate constraints that can be processed in parallel (the Box2D 3 technique).

      • Then, idle time between threads is optimized to gain performance: Spin Lockless > Lockless > Sync Primitives.

      • He mentioned he would implement Work Stealing in the future, said it was a good idea.

        • Makes total sense, tbh, strange he hasn’t tested it yet, but he said he would.

    • It uses the technique developed for Box2D 3.

      • He strongly recommends the Box2D author’s blog and says the new Box2D is incredibly fast.

    • The video is nice, but it only covers those two concepts. The presentation is a bit stiff.

    • His profiler is homemade, but he recommended Tracy.

      • "It has to be a lockless profiler".

    • His lifetime work has been on physics engines.

    • About the Physics Engine :

      • "Putting the solver on the GPU ends up forcing the entire game onto the GPU since physics interacts a lot with gameplay; not a good idea."

      • Which solver?

      • How many iterations?

        • I found 6 for Teardown. It’s based on experimentation. Many games use 4 or 8.

        • "It's a performance / quality tradeoff".

    • {34:30}

      • Comparison chart.

  • Physics Engine for Cars .

    • The video isn’t focused on programming or performance, but on the theory of realistic car simulation; it’s about cars only.

    • The guy is a tire nerd; ultra hyper-focused on cars.

    • There’s quite a bit of theory behind it.

      • .

    • He explains Gear Shifting, sound generation, etc, etc, lots of stuff.

    • {43:30}

      • The clip is wild, very cool.